package com.mes.pojo.defece;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.mes.common.annotation.DesensitivityAnnotation;
import com.mes.easyexcel.convert.DataStatusConverter;

/**
 * @Author 侯伟豪
 * @Company 起点编程
 * @Description
 * @Time 2024/10/17 16:41
 */
@HeadRowHeight(25)
@ContentRowHeight(20)
@ColumnWidth(100)
public class TestingProject {
    @ExcelProperty(value = "测试项目编号", index = 0)
    private Long testingProjectId;
    @ExcelProperty(value = "测试项目名称", index = 1)
    private String testingProjectName;
    @ExcelProperty(value = "测试项目类型", index = 2)
    private Integer testingProjectType;
    @DesensitivityAnnotation(value = "*",length = 2,prefixNoMaskLength = 1,suffixNoMaskLength = 1)
    @ExcelProperty(value = "测试项目工具", index = 3)
    private String testingProjectTool;
    @ExcelProperty(value = "测试项目状态", index = 4,converter = DataStatusConverter.class)
    private Integer testingProjectStatus;
    @ExcelProperty(value = "测试项目方法", index = 5)
    private String testingProjectMethod;
    @ExcelProperty(value = "测试项目标准", index = 6)
    private Integer testingProjectStandard;
    @ExcelProperty(value = "测试项目单位", index = 7)
    private String testingProjectUnit;
    @ExcelProperty(value = "测试项目最大误差", index = 8)
    private Integer testingProjectErrorMax;
    @ExcelProperty(value = "测试项目最小误差", index = 9)
    private Integer testingProjectErrorMin;
    @ExcelProperty(value = "测试项目模板编号", index = 10)
    private Long testingProjectTemplateId;
    @ExcelProperty(value = "致命缺陷数量",index = 11)
    private Integer testingProjectFatalFlaw;
    @ExcelProperty(value = "严重缺陷数量",index = 12)
    private Integer testingProjectSevereFlaw;
    @ExcelProperty(value = "测试项目严重缺陷数量",index = 13)
    private Integer testingProjectSlightFlaw;
    @ExcelIgnore //忽略这个属性
    private TestingTemplate testingTemplate;

    public Integer getTestingProjectFatalFlaw() {
        return testingProjectFatalFlaw;
    }

    public void setTestingProjectFatalFlaw(Integer testingProjectFatalFlaw) {
        this.testingProjectFatalFlaw = testingProjectFatalFlaw;
    }

    public Integer getTestingProjectSevereFlaw() {
        return testingProjectSevereFlaw;
    }

    public void setTestingProjectSevereFlaw(Integer testingProjectSevereFlaw) {
        this.testingProjectSevereFlaw = testingProjectSevereFlaw;
    }

    public Integer getTestingProjectSlightFlaw() {
        return testingProjectSlightFlaw;
    }

    public void setTestingProjectSlightFlaw(Integer testingProjectSlightFlaw) {
        this.testingProjectSlightFlaw = testingProjectSlightFlaw;
    }

    public String getTestingProjectMethod() {
        return testingProjectMethod;
    }

    public void setTestingProjectMethod(String testingProjectMethod) {
        this.testingProjectMethod = testingProjectMethod;
    }

    public Integer getTestingProjectStandard() {
        return testingProjectStandard;
    }

    public void setTestingProjectStandard(Integer testingProjectStandard) {
        this.testingProjectStandard = testingProjectStandard;
    }

    public String getTestingProjectUnit() {
        return testingProjectUnit;
    }

    public void setTestingProjectUnit(String testingProjectUnit) {
        this.testingProjectUnit = testingProjectUnit;
    }

    public Integer getTestingProjectErrorMax() {
        return testingProjectErrorMax;
    }

    public void setTestingProjectErrorMax(Integer testingProjectErrorMax) {
        this.testingProjectErrorMax = testingProjectErrorMax;
    }

    public Integer getTestingProjectErrorMin() {
        return testingProjectErrorMin;
    }

    public void setTestingProjectErrorMin(Integer testingProjectErrorMin) {
        this.testingProjectErrorMin = testingProjectErrorMin;
    }

    public Long getTestingProjectTemplateId() {
        return testingProjectTemplateId;
    }

    public void setTestingProjectTemplateId(Long testingProjectTemplateId) {
        this.testingProjectTemplateId = testingProjectTemplateId;
    }

    public TestingTemplate getTestingTemplate() {
        return testingTemplate;
    }

    public void setTestingTemplate(TestingTemplate testingTemplate) {
        this.testingTemplate = testingTemplate;
    }

    public Long getTestingProjectId() {
        return testingProjectId;
    }

    public void setTestingProjectId(Long testingProjectId) {
        this.testingProjectId = testingProjectId;
    }

    public String getTestingProjectName() {
        return testingProjectName;
    }

    public void setTestingProjectName(String testingProjectName) {
        this.testingProjectName = testingProjectName;
    }

    public Integer getTestingProjectType() {
        return testingProjectType;
    }

    public void setTestingProjectType(Integer testingProjectType) {
        this.testingProjectType = testingProjectType;
    }

    public String getTestingProjectTool() {
        return testingProjectTool;
    }

    public void setTestingProjectTool(String testingProjectTool) {
        this.testingProjectTool = testingProjectTool;
    }

    public Integer getTestingProjectStatus() {
        return testingProjectStatus;
    }

    public void setTestingProjectStatus(Integer testingProjectStatus) {
        this.testingProjectStatus = testingProjectStatus;
    }

    public TestingProject() {
    }

    public TestingProject(Long testingProjectId, String testingProjectName, Integer testingProjectType, String testingProjectTool, Integer testingProjectStatus, String testingProjectMethod, Integer testingProjectStandard, String testingProjectUnit, Integer testingProjectErrorMax, Integer testingProjectErrorMin, Long testingProjectTemplateId, Integer testingProjectFatalFlaw, Integer testingProjectSevereFlaw, Integer testingProjectSlightFlaw, TestingTemplate testingTemplate) {
        this.testingProjectId = testingProjectId;
        this.testingProjectName = testingProjectName;
        this.testingProjectType = testingProjectType;
        this.testingProjectTool = testingProjectTool;
        this.testingProjectStatus = testingProjectStatus;
        this.testingProjectMethod = testingProjectMethod;
        this.testingProjectStandard = testingProjectStandard;
        this.testingProjectUnit = testingProjectUnit;
        this.testingProjectErrorMax = testingProjectErrorMax;
        this.testingProjectErrorMin = testingProjectErrorMin;
        this.testingProjectTemplateId = testingProjectTemplateId;
        this.testingProjectFatalFlaw = testingProjectFatalFlaw;
        this.testingProjectSevereFlaw = testingProjectSevereFlaw;
        this.testingProjectSlightFlaw = testingProjectSlightFlaw;
        this.testingTemplate = testingTemplate;
    }

    @Override
    public String toString() {
        return "TestingProject{" +
                "testingProjectId=" + testingProjectId +
                ", testingProjectName='" + testingProjectName + '\'' +
                ", testingProjectType=" + testingProjectType +
                ", testingProjectTool='" + testingProjectTool + '\'' +
                ", testingProjectStatus=" + testingProjectStatus +
                ", testingProjectMethod='" + testingProjectMethod + '\'' +
                ", testingProjectStandard=" + testingProjectStandard +
                ", testingProjectUnit='" + testingProjectUnit + '\'' +
                ", testingProjectErrorMax=" + testingProjectErrorMax +
                ", testingProjectErrorMin=" + testingProjectErrorMin +
                ", testingProjectTemplateId=" + testingProjectTemplateId +
                ", testingProjectFatalFlaw=" + testingProjectFatalFlaw +
                ", testingProjectSevereFlaw=" + testingProjectSevereFlaw +
                ", testingProjectSlightFlaw=" + testingProjectSlightFlaw +
                ", testingTemplate=" + testingTemplate +
                '}';
    }
}